SMB Utility This is written from AP in AP SMB Hacks Site. Q: What is SMB Utility? A: SMB Utility is a level editor that has many features, including a built-in emulator for testing. Q: How do you use the emulator? A: One of the features include a built-in emulator. You can go to Emulator and click on "Title Screen" to start at the title screen, "Start of level" to go to the start of the level currently opened, "Current Page" to start at the current page of the block/sprite you are editing, "Halfway Area" to start at the halfway page if the area has one, or "End" to stop. Press F5 to save in the emulator, or F7 to load the savestate. Q: What are the other features? A: Listed in "Tools" include "Edit Text", "Edit Looping Castle Loop", "World Data Update", "Sort Areas", "Record Into Demo", "General Setting", "Edit Some Game Stuff", "Options", and "Configuration". Q: What's "Edit Text"? How do you use it? A: "Edit Text" can edit text, hence the name. The text it can edit includes the Status Bar, the "Thank You" messages, "Game Over", "Welcome to Warp Zone!", the copyright at the title screen, and the 1P/2P Menu. Q: What's "Edit Looping Castle Loop"? A: "Edit Looping Castle Loop" edits how the Loop Commands work. All of the values (which are in hexadecimal) are in "non-straight" columns. The world row has the values of the worlds each command works in. Add 1 to these values for the real world number. The page row are the values that are the page numbers the loop commands are located. The V pos row are the values of the locations that Mario has to be at in order to pass the commands. The values are set up as y pos/x pos. The Offset of map page skip data row has values of the header of each (one) page skip behind a loop command. To find these headers, double click on the page skip block. The value with a "H" next to it (i.e., 3FH, 43H, etc.) in the description is the header of the page skip. I'm not sure what "World 7's loop" is. I'm guessing that World 7's looping is special. The two values next to it tells the world number (hex) of this "special loop". The values should be the same. However, I don't know what's the World's 7 loop thing. Q: What's "World Data Update"? A: "World Data Update" updates the world order to the one adjusted in the level order in the Level Select window. I believe it's useful if you have a number of levels in a world that's not 4. I believe that from that kind of world, if you have a warp zone to the world after that, it would go to a different level not what you wanted. If that happens, I suggest you use this. Q: What's "Sort Areas"? A: "Sort Areas" allows you to switch places of levels and change the room number of the levels. Q: What's "Record Into Demo"? A: "Record Into Demo" allows you to record your own demo. In the demo, you use the emulator to control Mario. This feature roughly records this. However, it is not very accurate, and may turn out very different from what you intended. I believe that this may be due to the fact that what you wanted was too complex, or there wasn't enough space. Q: What's "General Setting"? A: "General Setting" changes how long the game is by worlds. This doesn't clear any other level data, however. Q: What's "Edit Some Game Stuff"? A: "Edit Some Game Stuff" edits other things. At the "warpzone" tab, you can edit warp zones. At the "1UP mushroom" tab, you can edit the amount of coins needed on each x-3 level to get a hidden 1UP on the next level. At the "Bowser" tab, you can edit which world does Bowser start to throw hammers and what Bowser turns into when killed for each world. At the "world" tab, you can edit which level do the levels start to get harder (shorter lifts, "after 5-3" enemies) and which world has water levels with castle blocks. At the "other" tab, you can change how many lives you start with, whether Piranha Plants appear on 1-1 or not, TSA (graphic tiles) for the vertical balls that you can climb on, and time limits (400, 300, 200). Q: What's "Options"? A: "Options" has options for the emulator and editor. At the emulator tab, you can Enable MMX (not sure what this means) and Disable Pad. At the editor tab, you can enable a "room protect system", but I don't know what that is. Q: What's "Configuration"? A: With "Configuration", you can edit the keyboard commands for the editor. Q: Any other features? A: Yes. You can send objects to another level, edit level headers, and insert GFX from another ROM! Q: How do I send objects to another level? A: Right click an object and select Send... or double-click it. Make sure the object you are sending isn't page-flagged and there are object "entries" in the page Also, if you are sending sprites, make sure the page you send it at doesn't have a page change. Q: How do I edit level headers? A: Go to Edit and select Edit Header. You can change time (if you changed time limits with Edit Some Game Stuff, 400=1st time limit, 300=2nd time limit, 200=3rd time limit), position (V:1=top, area: X= top, but slightly lower than V:1, V:10=on ground, V:4=in the middle, walking=with autowalk), Back, or starting background (first Night and snow is night and snow palette, second Night and snow is the castle palette), palette/island type (Green and tree uses a green palette with green trees, Orange and mushroom uses an orange palette with mushroom islands, Guns uses a green palette with cannons instead of trees/islands, Clouds replaces the ground, block patterns, and horizontal bricks with the clouds in the cloud bonuses), Seanery, or scenery (not a typo, spelt like that in the window), Basic brick (starting block pattern), Attribute, and Halfway page. Q: How do I insert GFX from another ROM? A: Go to File and select Load GFX from another ROM. This doesn't load TSA (tile arrangements of blocks and sprites) from another ROM, however. Q: Any other features? A: Besides editing levels and other features listed here, you can edit the hex values of objects. With this, you can change enemies or page changes into pointers, or vice verca. However, I don't recommend doing this, especially the former. This may cause sprites from other levels to be loaded in the level. I would recommend sending objects from levels instead. Q: How do I change objects into other objects? A: With non-sprite/pointer blocks, you can move the block to V pos <12 for some regular objects, 12 for holes, question blocks, pulleys, and bridges, 13 for page skips (which don't work if they are page flagged) , poles, Reverse L pipe, axes, ropes, castle bridges, continuations, stopping continuations, scroll stops including the warp zone scroll stop, and loop commands, 14 for block patterns or background, and 15 for castles, long Reverse L pipes with no pipe opening on top, staircases, ropes, and vertical balls. For enemies, you can change them into page changes by checking Skip Page and type in the number of pages to skip. For page changes, you can change them into enemies by unchecking Skip Page and selecting an enemy type. Q: What's YY-ME? A: It's another level editor before SMB Utility was released. The differences between the two that instead of sending objects in SMB Utility, you "add" or "remove" objects (but this is actually taking away or giving away objects to the next room/area (not really level). Also, YY-ME can also load any SMB ROM, while SMB Utility can only open regular 40,976 byte ROMs or trained 41,488 byte ROMs. Q: Are there other level editors available? A: Yes, there's one called SMB MapEditor by ZANTETSU, which is available at YY's Japanese site. However, I think YY-ME and SMB Utility are better. There's also another one, which some people may have used or heard of, called Mario Improvement, available at YY's Japanese site and Zophar's Domain. However, it can't edit enemies. Both work with trained ROMs. I believe that YY-ME and SMB Utility are very superior compared to these. Q: Ahh!! When I finish a level, the next level's number is a weird tile! Why!? A: From my experience, the most common reason is that the staircase (width 9; height 8)'s length is not zero. These staircases' length should always be 0. If it's not zero, this will happen. Q: Is that all? A: Pretty much. I hope this helped you learn how to use SMB Utility. Enjoy hacking the levels of SMB!